1. Field of the Invention
The present invention relates to an image processing apparatus, an imaging apparatus, and an image processing method. More particularly, the invention relates to a technique for adequately interpolating pixels which have been determined as isolated points.
2. Description of the Related Art
In the related art, an image signal obtained by an imaging apparatus may have fixed point noise generated by a defect of the imaging element, and the image signal may include an isolated point having a pixel level extremely higher than neighboring pixel levels (pixel values) which is generated under the influence of random noise such as photon shot noise or thermal noise. Under the circumstance, an isolated point interpolation process is carried out to perform real time detection of such an isolated point real time and to interpolate a proper pixel level (interpolation value).
Referring to methods used for isolated point interpolation processes, three types of methods, i.e., static interpolation, adaptive interpolation, and median interpolation are primarily used. FIGS. 7B to 7D are illustrations for explaining those methods. The methods shown in FIGS. 7B to 7D will be described on an assumption that an edge diagonally extends in the bottom-to-top and left-to-right direction to pass by a pixel of interest P as shown in 7A. A filter ranging three pixels in the horizontal direction and three pixels in the vertical direction is used. In FIGS. 7B to 7D, a filter coefficient is shown as a value “0” or “1”.
In the case of static interpolation shown in FIG. 7B, the values of pixels whose filter coefficient is set at “1”, i.e., the values of all eight pixels neighboring the pixel of interest P are totaled, and the total value thus obtained is divided by 8 which is the number of the pixel levels which have been totaled. An average value of the pixel levels of the eight neighboring obtained as thus described is used as an interpolated value at the pixel of interest P.
In the case of adaptive interpolation shown in FIG. 7C, the extending direction of the edge is first determined, and interpolation is carried out along the extending direction of the edge. Specifically, an average value of the pixel levels of the two pixels located inside and close to the edge (the pixel below and to the left of the pixel of interest P and the pixel above and to the right of the pixel P) is calculated, and the average value thus obtained is used as an interpolation value for the pixel of interest P.
In the case of median interpolation shown in FIG. 7D, the median of the nine pixels in the filter window is calculated, and the calculated median is used as an interpolation value. FIG. 7D shows a case which is based on an assumption that the adjacent pixel to the right of the pixel of interest P is the median, and a filter coefficient “1” is set in the position. That is, the pixel level in that position is output as the pixel level of the pixel of interest P.
An example of an interpolation process using a median filter is described in JP-A-2003-242504 (Patent Document 1).